/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.upo.eps.it.phama.struts.actionform;

import java.util.List;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.upo.eps.it.phama.bean.Almacen;
import org.upo.eps.it.phama.dao.AlmacenDAO;

/**
 *
 * @author Grupo 4
 */
public class AlmacenesActionForm extends org.apache.struts.action.ActionForm {
    
    private String opcion;
    private int id;
    private String nombre;
    
    private List<Almacen> misAlmacenes;
    private List<Almacen> resultadoBusqueda;
    
    private int idDireccion;
    private String direccion;
    private String poblacion;
    private String provincia;
    private String cp;

        
    //<editor-fold defaultstate="collapsed" desc="constructors">
    public AlmacenesActionForm() {
        super();
        misAlmacenes = AlmacenDAO.getAlmacenes();
        opcion = ""; // Es importante para evitar acceso a nulos.

    }
   //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="getters & setters">
    public int getIdDireccion() {
        return idDireccion;
    }

    public void setIdDireccion(int idDireccion) {
        this.idDireccion = idDireccion;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public String getPoblacion() {
        return poblacion;
    }

    public void setPoblacion(String poblacion) {
        this.poblacion = poblacion;
    }

    public String getProvincia() {
        return provincia;
    }

    public void setProvincia(String provincia) {
        this.provincia = provincia;
    }

    public String getCp() {
        return cp;
    }

    public void setCp(String cp) {
        this.cp = cp;
    }

    public String getOpcion() {
        return opcion;
    }

    public int getId() {
        return id;
    }

    public String getNombre() {
        return nombre;
    }

    public List<Almacen> getMisAlmacenes() {
        return misAlmacenes;
    }

    public List<Almacen> getResultadoBusqueda() {
        return resultadoBusqueda;
    }

    public void setOpcion(String opcion) {
        this.opcion = opcion;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }


    public void setMisAlmacenes(List<Almacen> misAlmacenes) {
        this.misAlmacenes= misAlmacenes;
    }

    public void setResultadoBusqueda(List<Almacen> resultadoBusqueda) {
        this.resultadoBusqueda = resultadoBusqueda;
    }

    //</editor-fold>

    /**
     * This is the action called from the Struts framework.
     *
     * @param mapping The ActionMapping used to select this instance.
     * @param request The HTTP Request we are processing.
     * @return
     */
    @Override
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
        if (opcion.equals("grabar") || opcion.equals("modificar")) {
            if (nombre == null || nombre.equals("")) {
                errors.add("nombre", new ActionMessage("error.required", "nombre"));
            }
            if (direccion == null || direccion.equals("")) {
                errors.add("direccion", new ActionMessage("error.required", "direccion"));
            }
        }

        return errors;
    }
}
